home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zlarfb.z / zlarfb
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZLLLLAAAARRRRFFFFBBBB((((3333FFFF))))                                                          ZZZZLLLLAAAARRRRFFFFBBBB((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZLARFB - applie a complex block reflector H or its transpose H' to a
  10.      complex M-by-N matrix C, from either the left or the right
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZLARFB( SIDE, TRANS, DIRECT, STOREV, M, N, K, V, LDV, T, LDT,
  14.                         C, LDC, WORK, LDWORK )
  15.  
  16.          CHARACTER      DIRECT, SIDE, STOREV, TRANS
  17.  
  18.          INTEGER        K, LDC, LDT, LDV, LDWORK, M, N
  19.  
  20.          COMPLEX*16     C( LDC, * ), T( LDT, * ), V( LDV, * ), WORK( LDWORK, *
  21.                         )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      ZLARFB applies a complex block reflector H or its transpose H' to a
  25.      complex M-by-N matrix C, from either the left or the right.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      SIDE    (input) CHARACTER*1
  30.              = 'L': apply H or H' from the Left
  31.              = 'R': apply H or H' from the Right
  32.  
  33.      TRANS   (input) CHARACTER*1
  34.              = 'N': apply H (No transpose)
  35.              = 'C': apply H' (Conjugate transpose)
  36.  
  37.      DIRECT  (input) CHARACTER*1
  38.              Indicates how H is formed from a product of elementary reflectors
  39.              = 'F': H = H(1) H(2) . . . H(k) (Forward)
  40.              = 'B': H = H(k) . . . H(2) H(1) (Backward)
  41.  
  42.      STOREV  (input) CHARACTER*1
  43.              Indicates how the vectors which define the elementary reflectors
  44.              are stored:
  45.              = 'C': Columnwise
  46.              = 'R': Rowwise
  47.  
  48.      M       (input) INTEGER
  49.              The number of rows of the matrix C.
  50.  
  51.      N       (input) INTEGER
  52.              The number of columns of the matrix C.
  53.  
  54.      K       (input) INTEGER
  55.              The order of the matrix T (= the number of elementary reflectors
  56.              whose product defines the block reflector).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZLLLLAAAARRRRFFFFBBBB((((3333FFFF))))                                                          ZZZZLLLLAAAARRRRFFFFBBBB((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      V       (input) COMPLEX*16 array, dimension
  75.              (LDV,K) if STOREV = 'C' (LDV,M) if STOREV = 'R' and SIDE = 'L'
  76.              (LDV,N) if STOREV = 'R' and SIDE = 'R' The matrix V. See further
  77.              details.
  78.  
  79.      LDV     (input) INTEGER
  80.              The leading dimension of the array V.  If STOREV = 'C' and SIDE =
  81.              'L', LDV >= max(1,M); if STOREV = 'C' and SIDE = 'R', LDV >=
  82.              max(1,N); if STOREV = 'R', LDV >= K.
  83.  
  84.      T       (input) COMPLEX*16 array, dimension (LDT,K)
  85.              The triangular K-by-K matrix T in the representation of the block
  86.              reflector.
  87.  
  88.      LDT     (input) INTEGER
  89.              The leading dimension of the array T. LDT >= K.
  90.  
  91.      C       (input/output) COMPLEX*16 array, dimension (LDC,N)
  92.              On entry, the M-by-N matrix C.  On exit, C is overwritten by H*C
  93.              or H'*C or C*H or C*H'.
  94.  
  95.      LDC     (input) INTEGER
  96.              The leading dimension of the array C. LDC >= max(1,M).
  97.  
  98.      WORK    (workspace) COMPLEX*16 array, dimension (LDWORK,K)
  99.  
  100.      LDWORK  (input) INTEGER
  101.              The leading dimension of the array WORK.  If SIDE = 'L', LDWORK
  102.              >= max(1,N); if SIDE = 'R', LDWORK >= max(1,M).
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.